#include "Buzzer.h"
#include <REGX52.H>
#include <INTRINS.h> // nop的头文件

//定义蜂鸣器IO口，每个板子中对应的BZ可能不一样
sbit BZ=P2^5;


// 蜂鸣器私有延迟函数
void Buzzer_Delay500us()		//@12.000MHz
{
	unsigned char i;

	_nop_();
	i = 247;
	while (--i);
}

// 蜂鸣器私有延时函数
// 蜂鸣器频率是1000Hz
// 即蜂鸣器500us翻转一次，一个周期翻转2次，一个周期即为1ms
// ms：每次蜂鸣器响多长时间
void Buzzer_Time(int ms)
{
		unsigned char i;
		// ms = 100,翻转100次
		// 每次延时500us
		// 给蜂鸣器一个震荡周期，让其一直发出声响
		// 震荡周期即让IO口去翻转，在震荡期间内，蜂鸣器会发出声响
		// 震荡x ms 则蜂鸣器响x ms
		for(i = 0; i < ms*2; i++)
		{
			BZ = !BZ;
			Delay500us();
		}
}
